#ifndef PMM_H_
#define PMM_H_

#include <types.h>

#define PMM_ERR_NOALLOC 1

typedef struct pmm_region
{
	dword size;
	void *addr;
	byte allocated;
} pmm_region_t;

int init_pmm(void *free, size_t size);
void * pmm_frame_alloc(size_t frames);
void pmm_frame_free(void *ptr);

extern void *kend;
extern void *aligned_kend;
extern size_t g_highmem;
extern size_t g_total_frames;

#endif /*PMM_H_*/
